package com.gree.flowable.app.pojo.to;

import com.gree.flowable.app.pojo.form.IFormDataVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;
import java.util.Map;

/**
 * @author ：180849
 * @date ：Created in 2021/5/10 9:36
 * @description：实例化表单中的任务审批
 * @modified By：
 * @version: 1.0
 */
@ApiModel(description = "审批任务(表单)")
public class ApprovalFormTO extends IFormDataVO {
    /**********************任务相关的参数**********************/
    @ApiModelProperty("任务id 必填 撤回操作非必填")
    private String taskId;

    /**********************审批意见的参数**********************/

    @ApiModelProperty("审批意见 必填")
    private String message;

    @ApiModelProperty("审批类型 必填")
    private String type;

    @ApiModelProperty("下节点信息，必填")
    private String nextNode;

    @ApiModelProperty("下节点审批人 必填")
    private List<String> nextUserList;

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNextNode() {
        return nextNode;
    }

    public void setNextNode(String nextNode) {
        this.nextNode = nextNode;
    }

    public List<String> getNextUserList() {
        return nextUserList;
    }

    public void setNextUserList(List<String> nextUserList) {
        this.nextUserList = nextUserList;
    }

    public ApprovalFormTO(String taskId, String message, String type, String nextNode, List<String> nextUserList) {
        this.taskId = taskId;
        this.message = message;
        this.type = type;
        this.nextNode = nextNode;
        this.nextUserList = nextUserList;
    }

    public ApprovalFormTO(String businessKey, String formId, Map<String, Object> data, String taskId, String message, String type, String nextNode, List<String> nextUserList) {
        super(businessKey, formId, data);
        this.taskId = taskId;
        this.message = message;
        this.type = type;
        this.nextNode = nextNode;
        this.nextUserList = nextUserList;
    }

    public ApprovalFormTO() {
    }
}
